/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */
package questao06;

/**
 *
 * @author SDKW
 */
public class Jogador {
    
    private String nome;
    private int idade;
    private Joystick joystick = new Joystick();
    
    public Jogador(String nome, int idade) {
        this.nome = nome;
        this.idade = idade;
    }
    
    @Override
    public String toString() {
       return "Jogador: " + nome + " com " + idade + " anos de idade."; 
    }
    
    public static void main(String[] args) {
        final int CORRIDA = 0;
        final int FUTEBOL = 1;
        final int LUTA = 2;
        
        JogoDeCorrida corrida = new JogoDeCorrida();
        JogoDeFutebol futebol = new JogoDeFutebol();
        JogoDeLuta luta = new JogoDeLuta();
        
        AcelerarCommand acelerar = new AcelerarCommand(corrida);
        FreiarCommand freiar = new FreiarCommand(corrida);
        CorrerCommand correr = new  CorrerCommand(futebol);
        CruzarCommand cruzar = new CruzarCommand(futebol);
        ChutarCommand chutar = new ChutarCommand(luta);
        EsmurrarCommand esmurrar = new EsmurrarCommand(luta);
               
        Jogador jogador = new Jogador("Paulo Henrique", 35);
        System.out.println(jogador.toString());
        System.out.println("");
        
        System.out.println("Jogo de Corrida");
        jogador.joystick.setCommand(CORRIDA, acelerar, freiar);
        jogador.joystick.pressionarBotaoA(CORRIDA);
        jogador.joystick.pressionarBotaoA(CORRIDA);
        jogador.joystick.pressionarBotaoA(CORRIDA);
        jogador.joystick.pressionarBotaoB(CORRIDA);
        jogador.joystick.pressionarBotaoA(CORRIDA);
        jogador.joystick.pressionarBotaoB(CORRIDA);
        jogador.joystick.pressionarBotaoB(CORRIDA);
        jogador.joystick.pressionarBotaoB(CORRIDA);
        jogador.joystick.pressionarBotaoB(CORRIDA);
        
        System.out.println("");
        System.out.println("Jogo de Futebol");
        jogador.joystick.setCommand(FUTEBOL, correr, cruzar);        
        jogador.joystick.pressionarBotaoA(FUTEBOL);       
        jogador.joystick.pressionarBotaoA(FUTEBOL);
        jogador.joystick.pressionarBotaoB(FUTEBOL);
        jogador.joystick.pressionarBotaoB(FUTEBOL);
        
        System.out.println("");
        System.out.println("Jogo de Luta");
        jogador.joystick.setCommand(LUTA, chutar, esmurrar);        
        jogador.joystick.pressionarBotaoA(LUTA);      
        jogador.joystick.pressionarBotaoA(LUTA);      
        jogador.joystick.pressionarBotaoA(LUTA);      
        jogador.joystick.pressionarBotaoA(LUTA);
        jogador.joystick.pressionarBotaoB(LUTA);
        jogador.joystick.pressionarBotaoB(LUTA);
        jogador.joystick.pressionarBotaoB(LUTA);
        jogador.joystick.pressionarBotaoB(LUTA);
        jogador.joystick.pressionarBotaoB(LUTA);
        jogador.joystick.pressionarBotaoB(LUTA);
        jogador.joystick.pressionarBotaoB(LUTA);
        jogador.joystick.pressionarBotaoB(LUTA);
        jogador.joystick.pressionarBotaoB(LUTA);
        jogador.joystick.pressionarBotaoB(LUTA);
        jogador.joystick.pressionarBotaoB(LUTA);
        jogador.joystick.pressionarBotaoB(LUTA);
 
    }
}
